package com.zlict.admin.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zlict.common.annotation.Excel;
import com.zlict.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 项目成果对象 project_achievement
 * 
 * @author dzw
 * @date 2025-06-11
 */
public class ProjectAchievement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;
    private Long projectId;
    @Excel(name = "成果名称")
    private String achievementName;

    /** 成果证书号 */
    @Excel(name = "成果证书号")
    private String achievementNo;

    /** 成果类型 */
    @Excel(name = "成果类型")
    private Integer achievementType;

    /** 成果水平 */
    @Excel(name = "成果水平")
    private Integer achievementLevel;

    /** 获取时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "获取时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date achievementTime;

    /** 获取方式 */
    @Excel(name = "获取方式")
    private Integer achievementWay;

    /** 证书附件 */
    @Excel(name = "证书附件")
    private String achievementFile;



    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setAchievementNo(String achievementNo) 
    {
        this.achievementNo = achievementNo;
    }

    public String getAchievementNo() 
    {
        return achievementNo;
    }

    public void setAchievementType(Integer achievementType) 
    {
        this.achievementType = achievementType;
    }

    public Integer getAchievementType() 
    {
        return achievementType;
    }

    public void setAchievementLevel(Integer achievementLevel) 
    {
        this.achievementLevel = achievementLevel;
    }

    public Integer getAchievementLevel() 
    {
        return achievementLevel;
    }

    public void setAchievementTime(Date achievementTime) 
    {
        this.achievementTime = achievementTime;
    }

    public Date getAchievementTime() 
    {
        return achievementTime;
    }

    public void setAchievementWay(Integer achievementWay) 
    {
        this.achievementWay = achievementWay;
    }

    public Integer getAchievementWay() 
    {
        return achievementWay;
    }

    public void setAchievementFile(String achievementFile) 
    {
        this.achievementFile = achievementFile;
    }

    public String getAchievementFile() 
    {
        return achievementFile;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public String getAchievementName() {
        return achievementName;
    }

    public void setAchievementName(String achievementName) {
        this.achievementName = achievementName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
                .append("projectId", getProjectId())
                .append("achievementName", getAchievementName())
            .append("achievementNo", getAchievementNo())
            .append("achievementType", getAchievementType())
            .append("achievementLevel", getAchievementLevel())
            .append("achievementTime", getAchievementTime())
            .append("achievementWay", getAchievementWay())
            .append("achievementFile", getAchievementFile())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("isDelete", getIsDelete())
            .append("isEnable", getIsEnable())
            .toString();
    }
}
